﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using OnlineAuction.App_Code;

namespace OnlineAuction.Guest
{
    public partial class DangKyTaiKhoan : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
          
        }

        protected void TextBox8_TextChanged(object sender, EventArgs e)
        {

        }

        protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Char[] username = args.Value.ToCharArray();

            if (username[0] < 65)
            {
                args.IsValid = false;
                return ;
            }

            for (int i = 0; i < username.Length; i++)
            {
                if ((username[i] < 48) ||
                    (username[i] > 57 && username[i] < 65) ||
                    (username[i] > 90 && username[i] < 97) ||
                    (username[i] > 122))
                {
                    args.IsValid = false;
                    return;
                }
            }
            args.IsValid = true;
        }

        protected void CustomValidator2_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Char[] pass = args.Value.ToCharArray();

            for (int i = 0; i < pass.Length; i++)
            {
                if ((pass[i] < 48) ||
                    (pass[i] > 57 && pass[i] < 65) ||
                    (pass[i] > 90 && pass[i] < 97) ||
                    (pass[i] > 122))
                {
                    args.IsValid = false;
                    return;
                }
            }
            args.IsValid = true;
        }

        protected void CustomValidator3_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Char[] phone = args.Value.ToCharArray();

            for (int i = 0; i < phone.Length; i++)
            {
                if ((phone[i] < 48) ||
                    (phone[i] > 57))
                {
                    args.IsValid = false;
                    return;
                }
            }
            args.IsValid = true;
        }

        protected void CustomValidator4_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Char[] hoten = args.Value.ToCharArray();

            for (int i = 0; i < hoten.Length; i++)
            {
                if ((hoten[i] < 65) ||
                    (hoten[i] > 90 && hoten[i] < 97) ||
                    (hoten[i] > 122))
                {
                    args.IsValid = false;
                    return;
                }
            }
            args.IsValid = true;
        }

        protected void CustomValidator5_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = args.Value.Length >= 6;
        }

        protected void CustomValidator6_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = args.Value.Length >= 5;
        }

        protected void CustomValidator7_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = args.Value.Length >= 6;
        }

        protected void CustomValidator8_ServerValidate(object source, ServerValidateEventArgs args)
        {
            Char[] phone = args.Value.ToCharArray();

            for (int i = 0; i < phone.Length; i++)
            {
                if ((phone[i] < 48) ||
                    (phone[i] > 57))
                {
                    args.IsValid = false;
                    return;
                }
            }
            args.IsValid = true;

        }

        protected void CustomValidator9_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = args.Value.Length >= 6;
        }

        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            string username = txtTenDangNhap.Text;
            bool flag = true;
            if (username != null)
            {
                if(username != "")
                {
                    if (username[0] < 65)
                        flag = false;
                }

                for (int i = 0; i < username.Length; i++)
                {
                    if ((username[i] < 48) ||
                        (username[i] > 57 && username[i] < 65) ||
                        (username[i] > 90 && username[i] < 97) ||
                        (username[i] > 122))
                    {
                        flag = false;
                    }
                }

                if (username.Length < 6 || flag==false)
                {
                    lblCheckTenDangNhap.Text = "Tên đăng nhập không hợp lệ!";
                }

                else
                {
                    DauGiaDataContext context = new DauGiaDataContext();
                    int? result = 0;
                    context.KiemTraTenDangNhap(username, ref result);
                    if (result == 0)
                        lblCheckTenDangNhap.Text = "Tên đăng nhập có thể sử dụng";
                    else
                    {
                        lblCheckTenDangNhap.Text = "Tên đăng nhập đã tồn tại!";

                    }
                }
            }
            else
            {
                lblCheckTenDangNhap.Text = "Hãy nhập tên đăng nhập!";
            }
        }

        protected void btnDangKy_Click(object sender, EventArgs e)
        {
            string username = txtTenDangNhap.Text;
            string password = txtMatKhau.Text;
            MaHoaMatKhau mahoa = new MaHoaMatKhau();
            password = mahoa.EncriptMD5(password);

            string hoten = txtHoTen.Text;
            string phone = txtPhone.Text;
            string diachi = txtDiaChi.Text;
            string tel = txtTel.Text;
            string email = txtEmail.Text;
            DateTime ngaysinh = DateTime.Today;
            string gioitinh = "Nam";
            if (rdbNu.Checked)
                gioitinh = "Nữ";
            int? homeID = 0;
            int loai = 1; //Normal user
            int trangthai = 1; //chua kich hoat
            string serverName = System.Configuration.ConfigurationManager.AppSettings.Get("ServerName");
            
            DauGiaDataContext context = new DauGiaDataContext();
            int? result = 0;
            context.KiemTraTenDangNhap(username, ref result);
            if (result != 0)
            {
                lblCheckTenDangNhap.Text = "Tên đăng nhập đã tồn tại!";
            }
            else
            {
                context.LayServerID(serverName, ref homeID);
                int kq = context.GhiThongTinDangKy(username, password, hoten, phone, diachi, tel, email, ngaysinh,
                                                   gioitinh, loai, trangthai, homeID);
                if (kq == 0) //Dang ky thanh cong
                {
                    Session["state"] = 2;
                    Session["username"] = username;
                    Session["password"] = password;
                    Session.Timeout = 30;
                    Response.Redirect("DangKyThanhCong.aspx");
                }
                else
                    Response.Redirect("DangKyThatBai.aspx");
            }
        }
        
    }
}
